package com.fengyunhe.manager.service;

import com.fengyunhe.common.bean.Page;
import com.fengyunhe.common.bean.PageList;
import com.fengyunhe.manager.vo.RoleVo;

import java.util.List;
import java.util.Set;


/**
 * 角色service
 */

public interface AdminRoleService {

    /**
     * 保存角色
     *
     * @return
     * @
     */
    public Integer createRole(RoleVo adminRoleEntity, String... permString);

    /**
     * 得到角色的列表
     *
     * @param page
     * @return
     * @
     */
    public PageList<RoleVo> getRolePageList(Page page);

    /**
     * 角色更新
     *
     * @param sysRole
     * @return
     * @
     */
    public boolean updateRole(RoleVo sysRole, String... permString);

    /**
     * 通过ID删除一个角色
     *
     * @param roleId
     * @
     */
    public boolean deleteRole(Integer roleId);

    /**
     * 返回角色具有的权限
     *
     * @param roleId
     * @return
     */
    Set<String> getPermissionsByRoleId(Integer roleId);


    /**
     * 返回所有角色
     *
     * @return
     */
    List<RoleVo> getAllRoleList();

    List<Integer> getRoleIdListByAdminUserId(Integer userId);
}
